home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / System / ReqToolsLib / Source / reqtools / amigaincludesforgcc / libraries / reqtools.h
Encoding:
C/C++ Source or Header  |  2001-07-02  |  21.3 KB  |  685 lines

  1. #ifndef LIBRARIES_REQTOOLS_H
  2. #define LIBRARIES_REQTOOLS_H
  3.  
  4. /*
  5.     (C) 2000 AROS - The Amiga Research OS
  6.     $Id: reqtools.h,v 1.1 2001/04/26 12:30:35 stegerg Exp $
  7.  
  8.     Desc: Definitions for reqtools.library
  9.     Lang: English
  10. */
  11.  
  12. /*
  13. **    $Filename: libraries/reqtools.h $
  14. **    $Release: 2.5 $
  15. **    $Revision: 1.1 $
  16. **
  17. **    reqtools.library definitions
  18. **
  19. **    (C) Copyright 1991-1994 Nico François
  20. **                  1995-1996 Magnus Holmgren
  21. **    All Rights Reserved
  22. */
  23.  
  24. #ifndef    EXEC_TYPES_H
  25. #include <exec/types.h>
  26. #endif    /* EXEC_TYPES_H */
  27.  
  28. #ifndef    EXEC_LISTS_H
  29. #include <exec/lists.h>
  30. #endif    /* EXEC_LISTS_H */
  31.  
  32. #ifndef    EXEC_LIBRARIES_H
  33. #include <exec/libraries.h>
  34. #endif    /* EXEC_LIBRARIES_H */
  35.  
  36. #ifndef    EXEC_SEMAPHORES_H
  37. #include <exec/semaphores.h>
  38. #endif    /* EXEC_SEMAPHORES_H */
  39.  
  40. #ifndef LIBRARIES_DOS_H
  41. #include <libraries/dos.h>
  42. #endif  /* LIBRARIES_DOS_H */
  43.  
  44. #ifndef LIBRARIES_DOSEXTENS_H
  45. #include <libraries/dosextens.h>
  46. #endif  /* LIBRARIES_DOSEXTENS_H */
  47.  
  48. #ifndef LIBRARIES_DISKFONT_H
  49. #include <libraries/diskfont.h>
  50. #endif  /* LIBRARIES_DISKFONT_H */
  51.  
  52. #ifndef    GRAPHICS_TEXT_H
  53. #include <graphics/text.h>
  54. #endif    /* GRAPHICS_TEXT_H */
  55.  
  56. #ifndef UTILITY_TAGITEM_H
  57. #include <utility/tagitem.h>
  58. #endif    /* UTILITY_TAGITEM_H */
  59.  
  60. #ifndef UTILITY_UTILITY_H
  61. #include <utility/utility.h>
  62. #endif    /* UTILITY_TAGITEM_H */
  63.  
  64. #define    REQTOOLSNAME         "reqtools.library"
  65. #define    REQTOOLSVERSION         38L
  66.  
  67. #ifndef _AROS
  68. #define IPTR ULONG
  69. #endif
  70.  
  71. /***********************
  72. *                      *
  73. *     Preferences      *
  74. *                      *
  75. ***********************/
  76.  
  77. #define RTPREF_FILEREQ         0L
  78. #define RTPREF_FONTREQ         1L
  79. #define RTPREF_PALETTEREQ     2L
  80. #define RTPREF_SCREENMODEREQ     3L
  81. #define RTPREF_VOLUMEREQ     4L
  82. #define RTPREF_OTHERREQ         5L
  83. #define RTPREF_NR_OF_REQ     6L
  84.  
  85. struct ReqDefaults
  86. {
  87.     ULONG Size;
  88.     ULONG ReqPos;
  89.     UWORD LeftOffset;
  90.     UWORD TopOffset;
  91.     UWORD MinEntries;
  92.     UWORD MaxEntries;
  93. };
  94.  
  95. struct ReqToolsPrefs
  96. {
  97.     /* Size of preferences (_without_ this field and the semaphore) */
  98.     ULONG             PrefsSize;
  99.     struct SignalSemaphore     PrefsSemaphore;
  100.     
  101.     /* Start of real preferences */
  102.     ULONG             Flags;
  103.     struct ReqDefaults         ReqDefaults[RTPREF_NR_OF_REQ];
  104. };
  105.  
  106. #ifdef _AROS
  107. #define RTPREFS_SIZE        (4 + (RTPREF_NR_OF_REQ * (4 + 4 + 2 + 2 + 2 + 2)))
  108. #else
  109. #define RTPREFS_SIZE         (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4)
  110. #endif
  111.  
  112. /* Flags */
  113.  
  114. #define RTPRB_DIRSFIRST         0L
  115. #define RTPRF_DIRSFIRST         (1L<<RTPRB_DIRSFIRST)
  116. #define RTPRB_DIRSMIXED         1L
  117. #define RTPRF_DIRSMIXED         (1L<<RTPRB_DIRSMIXED)
  118. #define RTPRB_IMMSORT         2L
  119. #define RTPRF_IMMSORT         (1L<<RTPRB_IMMSORT)
  120. #define RTPRB_NOSCRTOFRONT     3L
  121. #define RTPRF_NOSCRTOFRONT     (1L<<RTPRB_NOSCRTOFRONT)
  122. #define RTPRB_NOLED         4L
  123. #define RTPRF_NOLED         (1L<<RTPRB_NOLED)
  124. #define RTPRB_DEFAULTFONT     5L
  125. #define RTPRF_DEFAULTFONT     (1L<<RTPRB_DEFAULTFONT)
  126. #define RTPRB_DOWHEEL         6L
  127. #define RTPRF_DOWHEEL         (1L<<RTPRB_DOWHEEL)
  128. #define RTPRB_FKEYS         7L
  129. #define RTPRF_FKEYS         (1L<<RTPRB_FKEYS)
  130. #define RTPRB_FANCYWHEEL     8L
  131. #define RTPRF_FANCYWHEEL     (1L<<RTPRB_FANCYWHEEL)
  132. #define RTPRB_MMBPARENT         9L
  133. #define RTPRF_MMBPARENT         (1L<<RTPRB_MMBPARENT)
  134.  
  135. /***********************
  136. *                      *
  137. *     Library Base     *
  138. *                      *
  139. ***********************/
  140.  
  141. struct ReqToolsBase
  142. {
  143.     struct Library         LibNode;
  144.     UBYTE             RTFlags;
  145.     UBYTE             pad[3];
  146.     BPTR             SegList;
  147.  
  148.     /* PUBLIC FIELDS */
  149.  
  150.     /* NOTE: Some versions of the Manx C compiler contain a bug so it gets
  151.              confused by the library bases below.  Add the rt_ prefix to the
  152.              library names to fix the problem (e.g. rt_IntuitionBase). */
  153.  
  154.     /* The following library bases may be read and used by your program */
  155.     struct IntuitionBase     *IntuitionBase;
  156.     struct GfxBase         *GfxBase;
  157.     struct DosLibrary         *DOSBase;
  158.     /* Next two library bases are only (and always) valid on Kickstart 2.0!
  159.        (1.3 version of reqtools also initializes these when run on 2.0) */
  160.     struct Library         *GadToolsBase;
  161.     struct UtilityBase         *UtilityBase;
  162.  
  163.     /* PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE! */
  164.  
  165.     /* The RealOpenCnt is for the buffered AvailFonts feature.  Since
  166.        Kickstart 3.0 offers low memory handlers a release of ReqTools for 3.0
  167.        will not use this field and start using the normal OpenCnt again. */
  168.     UWORD             RealOpenCnt;
  169.     UWORD             AvailFontsLock;
  170.     struct AvailFontsHeader     *AvailFontsHeader;
  171.     ULONG             FontsAssignType;
  172.     BPTR             FontsAssignLock;
  173.     struct AssignList         *FontsAssignList;
  174.     struct ReqToolsPrefs     ReqToolsPrefs;
  175.     UWORD             prefspad;
  176. };
  177.  
  178. /* types of requesters, for rtAllocRequestA() */
  179. #define RT_FILEREQ         0L
  180. #define RT_REQINFO         1L
  181. #define RT_FONTREQ         2L
  182. /* (V38) */
  183. #define RT_SCREENMODEREQ     3L
  184.  
  185. /***********************
  186. *                      *
  187. *    File requester    *
  188. *                      *
  189. ***********************/
  190.  
  191. /* structure _MUST_ be allocated with rtAllocRequest() */
  192.  
  193. struct rtFileRequester
  194. {
  195.     ULONG         ReqPos;
  196.     UWORD         LeftOffset;
  197.     UWORD         TopOffset;
  198.     ULONG         Flags;
  199.     /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  200.     /* */
  201.     char          *Dir;             /* READ ONLY! Change with rtChangeReqAttrA()! */
  202.     char          *MatchPat;         /* READ ONLY! Change with rtChangeReqAttrA()! */
  203.     /* */
  204.     struct TextFont     *DefaultFont;
  205.     ULONG         WaitPointer;
  206.     /* (V38) */
  207.     ULONG         LockWindow;
  208.     ULONG         ShareIDCMP;
  209.     struct Hook     *IntuiMsgFunc;
  210.     UWORD         reserved1;
  211.     UWORD         reserved2;
  212.     UWORD         reserved3;
  213.     UWORD         ReqHeight;             /* READ ONLY!  Use RTFI_Height tag! */
  214.  
  215.     /* Private data follows! HANDS OFF :-) */
  216. };
  217.  
  218. /* returned by rtFileRequestA() if multiselect is enabled,
  219.    free list with rtFreeFileList() */
  220.  
  221. struct rtFileList
  222. {
  223.     struct rtFileList     *Next;
  224.     ULONG         StrLen;                 /* -1 for directories */
  225.     char         *Name;
  226. };
  227.  
  228. /* structure passed to RTFI_FilterFunc callback hook by
  229.    volume requester (see RTFI_VolumeRequest tag) */
  230.  
  231. struct rtVolumeEntry
  232. {
  233.     ULONG         Type;                 /* DLT_DEVICE or DLT_DIRECTORY */
  234.     char         *Name;
  235. };
  236.  
  237. /***********************
  238. *                      *
  239. *    Font requester    *
  240. *                      *
  241. ***********************/
  242.  
  243. /* structure _MUST_ be allocated with rtAllocRequest() */
  244.  
  245. struct rtFontRequester
  246. {
  247.     ULONG         ReqPos;
  248.     UWORD         LeftOffset;
  249.     UWORD         TopOffset;
  250.     ULONG         Flags;
  251.     /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  252.     /* */
  253.     struct TextAttr     Attr;             /* READ ONLY! */
  254.     /* */
  255.     struct TextFont     *DefaultFont;
  256.     ULONG         WaitPointer;
  257.     /* (V38) */
  258.     ULONG         LockWindow;
  259.     ULONG         ShareIDCMP;
  260.     struct Hook     *IntuiMsgFunc;
  261.     UWORD         reserved1;
  262.     UWORD         reserved2;
  263.     UWORD         reserved3;
  264.     UWORD         ReqHeight;         /* READ ONLY!  Use RTFO_Height tag! */
  265.  
  266.    /* Private data follows! HANDS OFF :-) */
  267. };
  268.  
  269. /*************************
  270. *                        *
  271. *  ScreenMode requester  *
  272. *                        *
  273. *************************/
  274.  
  275. /* structure _MUST_ be allocated with rtAllocRequest() */
  276.  
  277. struct rtScreenModeRequester
  278. {
  279.     ULONG         ReqPos;
  280.     UWORD         LeftOffset;
  281.     UWORD         TopOffset;
  282.     ULONG         Flags;
  283.     ULONG         private1;
  284.     /* */
  285.     ULONG         DisplayID;         /* READ ONLY! */
  286.     UWORD         DisplayWidth;         /* READ ONLY! */
  287.     UWORD         DisplayHeight;         /* READ ONLY! */
  288.     /* */
  289.     struct TextFont     *DefaultFont;
  290.     ULONG         WaitPointer;
  291.     ULONG         LockWindow;
  292.     ULONG         ShareIDCMP;
  293.     struct Hook     *IntuiMsgFunc;
  294.     UWORD         reserved1;
  295.     UWORD         reserved2;
  296.     UWORD         reserved3;
  297.     UWORD         ReqHeight;         /* READ ONLY!  Use RTSC_Height tag! */
  298.     /* */
  299.     UWORD         DisplayDepth;         /* READ ONLY! */
  300.     UWORD         OverscanType;         /* READ ONLY! */
  301.     ULONG         AutoScroll;         /* READ ONLY! */
  302.     /* Private data follows! HANDS OFF :-) */
  303. };
  304.  
  305. /***********************
  306. *                      *
  307. *    Requester Info    *
  308. *                      *
  309. ***********************/
  310.  
  311. /* for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
  312.    _MUST_ be allocated with rtAllocRequest() */
  313.  
  314. struct rtReqInfo
  315. {
  316.     ULONG         ReqPos;
  317.     UWORD        LeftOffset;
  318.     UWORD         TopOffset;
  319.     ULONG         Width;            /* not for rtEZRequestA() */
  320.     char         *ReqTitle;        /* currently only for rtEZRequestA() */
  321.     ULONG         Flags;
  322.     struct TextFont     *DefaultFont;         /* currently only for rtPaletteRequestA() */
  323.     ULONG         WaitPointer;
  324.     /* (V38) */
  325.     ULONG         LockWindow;
  326.     ULONG         ShareIDCMP;
  327.     struct Hook     *IntuiMsgFunc;
  328.     
  329.     /* structure may be extended in future */
  330. };
  331.  
  332. /***********************
  333. *                      *
  334. *     Handler Info     *
  335. *                      *
  336. ***********************/
  337.  
  338. /* for rtReqHandlerA(), will be allocated for you when you use
  339.    the RT_ReqHandler tag, never try to allocate this yourself! */
  340.  
  341. struct rtHandlerInfo
  342. {
  343.     IPTR     private1;
  344.     ULONG     WaitMask;
  345.     ULONG     DoNotWait;
  346.     /* Private data follows, HANDS OFF :-) */
  347. };
  348.  
  349. /* possible return codes from rtReqHandlerA() */
  350.  
  351. #define CALL_HANDLER             (ULONG)0x80000000
  352.  
  353.  
  354. /*************************************
  355. *                                    *
  356. *                TAGS                *
  357. *                                    *
  358. *************************************/
  359.  
  360. #define RT_TagBase             TAG_USER
  361.  
  362. /*** tags understood by most requester functions ***
  363. */
  364. /* optional pointer to window */
  365. #define RT_Window             (RT_TagBase+1)
  366. /* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) */
  367. #define RT_IDCMPFlags             (RT_TagBase+2)
  368. /* position of requester window (see below) - default REQPOS_POINTER */
  369. #define RT_ReqPos             (RT_TagBase+3)
  370. /* leftedge offset of requester relative to position specified by RT_ReqPos */
  371. #define RT_LeftOffset             (RT_TagBase+4)
  372. /* topedge offset of requester relative to position specified by RT_ReqPos */
  373. #define RT_TopOffset             (RT_TagBase+5)
  374. /* name of public screen to put requester on (Kickstart 2.0 only!) */
  375. #define RT_PubScrName             (RT_TagBase+6)
  376. /* address of screen to put requester on */
  377. #define RT_Screen             (RT_TagBase+7)
  378. /* tagdata must hold the address of (!) an APTR variable */
  379. #define RT_ReqHandler             (RT_TagBase+8)
  380. /* font to use when screen font is rejected, _MUST_ be fixed-width font!
  381.    (struct TextFont *, not struct TextAttr *!)
  382.    - default GfxBase->DefaultFont */
  383. #define RT_DefaultFont             (RT_TagBase+9)
  384. /* boolean to set the standard wait pointer in window - default FALSE */
  385. #define RT_WaitPointer             (RT_TagBase+10)
  386. /* (V38) char preceding keyboard shortcut characters (will be underlined) */
  387. #define RT_Underscore             (RT_TagBase+11)
  388. /* (V38) share IDCMP port with window - default FALSE */
  389. #define RT_ShareIDCMP             (RT_TagBase+12)
  390. /* (V38) lock window and set standard wait pointer - default FALSE */
  391. #define RT_LockWindow             (RT_TagBase+13)
  392. /* (V38) boolean to make requester's screen pop to front - default TRUE */
  393. #define RT_ScreenToFront         (RT_TagBase+14)
  394. /* (V38) Requester should use this font - default: screen font */
  395. #define RT_TextAttr             (RT_TagBase+15)
  396. /* (V38) call this hook for every IDCMP message not for requester */
  397. #define RT_IntuiMsgFunc             (RT_TagBase+16)
  398. /* (V38) Locale ReqTools should use for text */
  399. #define RT_Locale             (RT_TagBase+17)
  400.  
  401. /*** tags specific to rtEZRequestA ***
  402. */
  403. /* title of requester window - english default "Request" or "Information" */
  404. #define RTEZ_ReqTitle             (RT_TagBase+20)
  405. /* (RT_TagBase+21) reserved */
  406. /* various flags (see below) */
  407. #define RTEZ_Flags             (RT_TagBase+22)
  408. /* default response (activated by pressing RETURN) - default TRUE */
  409. #define RTEZ_DefaultResponse         (RT_TagBase+23)
  410.  
  411. /*** tags specific to rtGetLongA ***
  412. */
  413. /* minimum allowed value - default MININT */
  414. #define RTGL_Min             (RT_TagBase+30)
  415. /* maximum allowed value - default MAXINT */
  416. #define RTGL_Max             (RT_TagBase+31)
  417. /* suggested width of requester window (in pixels) */
  418. #define RTGL_Width             (RT_TagBase+32)
  419. /* boolean to show the default value - default TRUE */
  420. #define RTGL_ShowDefault         (RT_TagBase+33)
  421. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  422. #define RTGL_GadFmt              (RT_TagBase+34)
  423. /* (V38) optional arguments for RTGL_GadFmt */
  424. #define RTGL_GadFmtArgs             (RT_TagBase+35)
  425. /* (V38) invisible typing - default FALSE */
  426. #define RTGL_Invisible             (RT_TagBase+36)
  427. /* (V38) window backfill - default TRUE */
  428. #define RTGL_BackFill             (RT_TagBase+37)
  429. /* (V38) optional text above gadget */
  430. #define RTGL_TextFmt             (RT_TagBase+38)
  431. /* (V38) optional arguments for RTGS_TextFmt */
  432. #define RTGL_TextFmtArgs         (RT_TagBase+39)
  433. /* (V38) Center text - default FALSE */
  434. #define RTGL_CenterText             (RT_TagBase+100)
  435. /* (V38) various flags (see below) */
  436. #define RTGL_Flags             RTEZ_Flags
  437.  
  438. /*** tags specific to rtGetStringA ***
  439. */
  440. /* suggested width of requester window (in pixels) */
  441. #define RTGS_Width             RTGL_Width
  442. /* allow empty string to be accepted - default FALSE */
  443. #define RTGS_AllowEmpty             (RT_TagBase+80)
  444. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  445. #define RTGS_GadFmt              RTGL_GadFmt
  446. /* (V38) optional arguments for RTGS_GadFmt */
  447. #define RTGS_GadFmtArgs            RTGL_GadFmtArgs
  448. /* (V38) invisible typing - default FALSE */
  449. #define RTGS_Invisible             RTGL_Invisible
  450. /* (V38) window backfill - default TRUE */
  451. #define RTGS_BackFill             RTGL_BackFill
  452. /* (V38) optional text above gadget */
  453. #define RTGS_TextFmt             RTGL_TextFmt
  454. /* (V38) optional arguments for RTGS_TextFmt */
  455. #define RTGS_TextFmtArgs         RTGL_TextFmtArgs
  456. /* (V38) Center text - default FALSE */
  457. #define RTGS_CenterText             RTGL_CenterText
  458. /* (V38) various flags (see below) */
  459. #define RTGS_Flags            RTEZ_Flags
  460.  
  461. /*** tags specific to rtFileRequestA ***
  462. */
  463. /* various flags (see below) */
  464. #define RTFI_Flags             (RT_TagBase+40)
  465. /* suggested height of file requester */
  466. #define RTFI_Height             (RT_TagBase+41)
  467. /* replacement text for 'Ok' gadget (max 6 chars) */
  468. #define RTFI_OkText             (RT_TagBase+42)
  469. /* (V38) bring up volume requester, tag data holds flags (see below) */
  470. #define RTFI_VolumeRequest         (RT_TagBase+43)
  471. /* (V38) call this hook for every file in the directory */
  472. #define RTFI_FilterFunc             (RT_TagBase+44)
  473. /* (V38) allow empty file to be accepted - default FALSE */
  474. #define RTFI_AllowEmpty             (RT_TagBase+45)
  475.  
  476. /*** tags specific to rtFontRequestA ***
  477. */
  478. /* various flags (see below) */
  479. #define RTFO_Flags             RTFI_Flags
  480. /* suggested height of font requester */
  481. #define RTFO_Height             RTFI_Height
  482. /* replacement text for 'Ok' gadget (max 6 chars) */
  483. #define RTFO_OkText             RTFI_OkText
  484. /* suggested height of font sample display - default 24 */
  485. #define RTFO_SampleHeight         (RT_TagBase+60)
  486. /* minimum height of font displayed */
  487. #define RTFO_MinHeight             (RT_TagBase+61)
  488. /* maximum height of font displayed */
  489. #define RTFO_MaxHeight             (RT_TagBase+62)
  490. /* [(RT_TagBase+63) to (RT_TagBase+66) used below] */
  491. /* (V38) call this hook for every font */
  492. #define RTFO_FilterFunc             RTFI_FilterFunc
  493.  
  494. /*** (V38) tags for rtScreenModeRequestA ***
  495. */
  496. /* various flags (see below) */
  497. #define RTSC_Flags             RTFI_Flags
  498. /* suggested height of screenmode requester */
  499. #define RTSC_Height             RTFI_Height
  500. /* replacement text for 'Ok' gadget (max 6 chars) */
  501. #define RTSC_OkText             RTFI_OkText
  502. /* property flags (see also RTSC_PropertyMask) */
  503. #define RTSC_PropertyFlags         (RT_TagBase+90)
  504. /* property mask - default all bits in RTSC_PropertyFlags considered */
  505. #define RTSC_PropertyMask         (RT_TagBase+91)
  506. /* minimum display width allowed */
  507. #define RTSC_MinWidth             (RT_TagBase+92)
  508. /* maximum display width allowed */
  509. #define RTSC_MaxWidth             (RT_TagBase+93)
  510. /* minimum display height allowed */
  511. #define RTSC_MinHeight             (RT_TagBase+94)
  512. /* maximum display height allowed */
  513. #define RTSC_MaxHeight             (RT_TagBase+95)
  514. /* minimum display depth allowed */
  515. #define RTSC_MinDepth             (RT_TagBase+96)
  516. /* maximum display depth allowed */
  517. #define RTSC_MaxDepth             (RT_TagBase+97)
  518. /* call this hook for every display mode id */
  519. #define RTSC_FilterFunc             RTFI_FilterFunc
  520.  
  521. /*** tags for rtChangeReqAttrA ***
  522. */
  523. /* file requester - set directory */
  524. #define RTFI_Dir             (RT_TagBase+50)
  525. /* file requester - set wildcard pattern */
  526. #define RTFI_MatchPat             (RT_TagBase+51)
  527. /* file requester - add a file or directory to the buffer */
  528. #define RTFI_AddEntry             (RT_TagBase+52)
  529. /* file requester - remove a file or directory from the buffer */
  530. #define RTFI_RemoveEntry         (RT_TagBase+53)
  531. /* font requester - set font name of selected font */
  532. #define RTFO_FontName             (RT_TagBase+63)
  533. /* font requester - set font size */
  534. #define RTFO_FontHeight             (RT_TagBase+64)
  535. /* font requester - set font style */
  536. #define RTFO_FontStyle             (RT_TagBase+65)
  537. /* font requester - set font flags */
  538. #define RTFO_FontFlags             (RT_TagBase+66)
  539. /* (V38) screenmode requester - get display attributes from screen */
  540. #define RTSC_ModeFromScreen         (RT_TagBase+80)
  541. /* (V38) screenmode requester - set display mode id (32-bit extended) */
  542. #define RTSC_DisplayID             (RT_TagBase+81)
  543. /* (V38) screenmode requester - set display width */
  544. #define RTSC_DisplayWidth         (RT_TagBase+82)
  545. /* (V38) screenmode requester - set display height */
  546. #define RTSC_DisplayHeight         (RT_TagBase+83)
  547. /* (V38) screenmode requester - set display depth */
  548. #define RTSC_DisplayDepth         (RT_TagBase+84)
  549. /* (V38) screenmode requester - set overscan type, 0 for regular size */
  550. #define RTSC_OverscanType         (RT_TagBase+85)
  551. /* (V38) screenmode requester - set autoscroll */
  552. #define RTSC_AutoScroll             (RT_TagBase+86)
  553.  
  554. /*** tags for rtPaletteRequestA ***
  555. */
  556. /* initially selected color - default 1 */
  557. #define RTPA_Color             (RT_TagBase+70)
  558.  
  559. /*** tags for rtReqHandlerA ***
  560. */
  561. /* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
  562.    in case of rtEZRequest to the return value */
  563. #define RTRH_EndRequest             (RT_TagBase+60)
  564.  
  565. /*** tags for rtAllocRequestA ***/
  566. /* no tags defined yet */
  567.  
  568.  
  569. /************
  570. * RT_ReqPos *
  571. ************/
  572. #define REQPOS_POINTER             0L
  573. #define REQPOS_CENTERWIN         1L
  574. #define REQPOS_CENTERSCR         2L
  575. #define REQPOS_TOPLEFTWIN         3L
  576. #define REQPOS_TOPLEFTSCR         4L
  577.  
  578. /******************
  579. * RTRH_EndRequest *
  580. ******************/
  581. #define REQ_CANCEL             0L
  582. #define REQ_OK                 1L
  583.  
  584. /***************************************
  585. * flags for RTFI_Flags and RTFO_Flags  *
  586. * or filereq->Flags and fontreq->Flags *
  587. ***************************************/
  588. #define FREQB_NOBUFFER             2L
  589. #define FREQF_NOBUFFER             (1L<<FREQB_NOBUFFER)
  590.  
  591. /*****************************************
  592. * flags for RTFI_Flags or filereq->Flags *
  593. *****************************************/
  594. #define FREQB_MULTISELECT         0L
  595. #define FREQF_MULTISELECT         (1L<<FREQB_MULTISELECT)
  596. #define FREQB_SAVE             1L
  597. #define FREQF_SAVE             (1L<<FREQB_SAVE)
  598. #define FREQB_NOFILES             3L
  599. #define FREQF_NOFILES             (1L<<FREQB_NOFILES)
  600. #define FREQB_PATGAD             4L
  601. #define FREQF_PATGAD             (1L<<FREQB_PATGAD)
  602. #define FREQB_SELECTDIRS         12L
  603. #define FREQF_SELECTDIRS         (1L<<FREQB_SELECTDIRS)
  604.  
  605. /*****************************************
  606. * flags for RTFO_Flags or fontreq->Flags *
  607. *****************************************/
  608. #define FREQB_FIXEDWIDTH         5L
  609. #define FREQF_FIXEDWIDTH         (1L<<FREQB_FIXEDWIDTH)
  610. #define FREQB_COLORFONTS         6L
  611. #define FREQF_COLORFONTS         (1L<<FREQB_COLORFONTS)
  612. #define FREQB_CHANGEPALETTE         7L
  613. #define FREQF_CHANGEPALETTE         (1L<<FREQB_CHANGEPALETTE)
  614. #define FREQB_LEAVEPALETTE         8L
  615. #define FREQF_LEAVEPALETTE         (1L<<FREQB_LEAVEPALETTE)
  616. #define FREQB_SCALE             9L
  617. #define FREQF_SCALE             (1L<<FREQB_SCALE)
  618. #define FREQB_STYLE             10L
  619. #define FREQF_STYLE             (1L<<FREQB_STYLE)
  620.  
  621. /*****************************************************
  622. * (V38) flags for RTSC_Flags or screenmodereq->Flags *
  623. *****************************************************/
  624. #define SCREQB_SIZEGADS             13L
  625. #define SCREQF_SIZEGADS             (1L<<SCREQB_SIZEGADS)
  626. #define SCREQB_DEPTHGAD             14L
  627. #define SCREQF_DEPTHGAD             (1L<<SCREQB_DEPTHGAD)
  628. #define SCREQB_NONSTDMODES         15L
  629. #define SCREQF_NONSTDMODES         (1L<<SCREQB_NONSTDMODES)
  630. #define SCREQB_GUIMODES             16L
  631. #define SCREQF_GUIMODES             (1L<<SCREQB_GUIMODES)
  632. #define SCREQB_AUTOSCROLLGAD         18L
  633. #define SCREQF_AUTOSCROLLGAD         (1L<<SCREQB_AUTOSCROLLGAD)
  634. #define SCREQB_OVERSCANGAD         19L
  635. #define SCREQF_OVERSCANGAD         (1L<<SCREQB_OVERSCANGAD)
  636.  
  637. /*****************************************
  638. * flags for RTEZ_Flags or reqinfo->Flags *
  639. *****************************************/
  640. #define EZREQB_NORETURNKEY         0L
  641. #define EZREQF_NORETURNKEY         (1L<<EZREQB_NORETURNKEY)
  642. #define EZREQB_LAMIGAQUAL         1L
  643. #define EZREQF_LAMIGAQUAL         (1L<<EZREQB_LAMIGAQUAL)
  644. #define EZREQB_CENTERTEXT         2L
  645. #define EZREQF_CENTERTEXT         (1L<<EZREQB_CENTERTEXT)
  646.  
  647. /***********************************************
  648. * (V38) flags for RTGL_Flags or reqinfo->Flags *
  649. ***********************************************/
  650. #define GLREQB_CENTERTEXT         EZREQB_CENTERTEXT
  651. #define GLREQF_CENTERTEXT         EZREQF_CENTERTEXT
  652. #define GLREQB_HIGHLIGHTTEXT         3L
  653. #define GLREQF_HIGHLIGHTTEXT         (1L<<GLREQB_HIGHLIGHTTEXT)
  654.  
  655. /***********************************************
  656. * (V38) flags for RTGS_Flags or reqinfo->Flags *
  657. ***********************************************/
  658. #define GSREQB_CENTERTEXT         EZREQB_CENTERTEXT
  659. #define GSREQF_CENTERTEXT         EZREQF_CENTERTEXT
  660. #define GSREQB_HIGHLIGHTTEXT         GLREQB_HIGHLIGHTTEXT
  661. #define GSREQF_HIGHLIGHTTEXT         GLREQF_HIGHLIGHTTEXT
  662.  
  663. /*****************************************
  664. * (V38) flags for RTFI_VolumeRequest tag *
  665. *****************************************/
  666. #define VREQB_NOASSIGNS             0L
  667. #define VREQF_NOASSIGNS             (1L<<VREQB_NOASSIGNS)
  668. #define VREQB_NODISKS             1L
  669. #define VREQF_NODISKS             (1L<<VREQB_NODISKS)
  670. #define VREQB_ALLDISKS             2L
  671. #define VREQF_ALLDISKS             (1L<<VREQB_ALLDISKS)
  672.  
  673. /*
  674.    Following things are obsolete in ReqTools V38.
  675.    DON'T USE THESE IN NEW CODE!
  676. */
  677. #ifndef NO_REQTOOLS_OBSOLETE
  678. #define REQHOOK_WILDFILE         0L
  679. #define REQHOOK_WILDFONT         1L
  680. #define FREQB_DOWILDFUNC         11L
  681. #define FREQF_DOWILDFUNC         (1L<<FREQB_DOWILDFUNC)
  682. #endif
  683.  
  684. #endif /* LIBRARIES_REQTOOLS_H */
  685.